#ifndef __EVENT_H__
#define __EVENT_H__

/* Include files. */
#include "cplusplus.h"
#include "standard.h"

/* Macro constant definitions. */

/* Type definitions. */

class subSystem;
class event 
{
public:
	event(u32 session, lua_State *L);
	virtual ~event();
	u64 costTime();
	
public:
	lua_State *_L;
	subSystem *_sub;
	u32 _session;
	u64 _begin_time;
};


class ubusEvent : public event
{
public:
	ubusEvent(string name, u32 session, lua_State *L);
	~ubusEvent();
	
public:
	string _name;
#ifdef U_LOOP
	struct ubus_event_handler _listener;
#endif
};

/* External variable declarations. */

/* External function declarations. */

/* Macro API definitions. */


#endif

